package gov.fgn.sijyp.integracion.origen;

import gov.fgn.sijyp.integracion.postulados.Fiscal;

import java.io.Serializable;

import javax.persistence.*;

/**
 * The primary key class for the relacionfiscaldespacho database
 * table.
 */
@Embeddable
public class RelacionDespachoFiscalPK implements Serializable {
  // default serial version id, required for serializable classes.
  private static final long serialVersionUID = 1L;

  @ManyToOne
  private Autoridad autoridad;

  @ManyToOne
  private Fiscal fiscal;

  public RelacionDespachoFiscalPK() {
  }

  public Autoridad getAutoridad() {
    return autoridad;
  }

  public void setAutoridad(Autoridad autoridad) {
    this.autoridad = autoridad;
  }

  public Fiscal getFiscal() {
    return fiscal;
  }

  public void setFiscal(Fiscal fiscal) {
    this.fiscal = fiscal;
  }

  public boolean equals(Object other) {
    if (this == other) {
      return true;
    }
    if (!(other instanceof RelacionDespachoFiscalPK)) {
      return false;
    }
    RelacionDespachoFiscalPK castOther = (RelacionDespachoFiscalPK) other;

    if (autoridad != null ? !autoridad.equals(castOther.autoridad) : castOther.autoridad != null)
      return false;
    if (fiscal != null ? !fiscal.equals(castOther.fiscal) : castOther.fiscal != null)
      return false;

    return true;
  }

  public int hashCode() {
    final int prime = 31;
    int hash = 17;
    hash = hash * prime + this.autoridad.hashCode();
    hash = hash * prime + this.fiscal.hashCode();

    return hash;
  }
}